package com.naiterui.ehp.bs.patient.dao.impl;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

import com.naiterui.ehp.bp.domain.PatientDocumentParam;
import com.naiterui.ehp.bs.patient.dao.IDocumentParamDao;
import com.naiterui.ehp.bs.patient.repository.IApDocumentParamRepository;
import com.naiterui.ehp.bs.patient.vo.parameters.ParamVO;

/**
 * 患者档案持久化实现
 *
 * @version 2015年6月24日 下午3:46:28 by Amber
 */
@Component
public class ApDocumentParamDao implements IDocumentParamDao {

    @Autowired
    private IApDocumentParamRepository documentParamRepository;

    @Override
    public Map<Integer, List<ParamVO>> getDocumentParams() {
        Iterator<PatientDocumentParam> result = documentParamRepository.findAll().iterator();
        Map<Integer, List<ParamVO>> resultMap = new HashMap<>();
        // 分组
        while (result.hasNext()) {
            PatientDocumentParam param = result.next();
            ParamVO paramVo = new ParamVO();
            paramVo.setId(param.getId().intValue());
            paramVo.setName(param.getName());
            List<ParamVO> values = resultMap.get(param.getType());
            if (values == null) {
                values = new ArrayList<>();
                values.add(paramVo);
                resultMap.put(param.getType(), values);
            } else {
                values.add(paramVo);
            }
        }
        return resultMap;
    }

}
